#pragma once
#include "solution_checker.h"
#include "Heuristique.h"

class Kchangement
{
public:
	Kchangement(int Korigine, int Diminution, int Palier, int NbMachines, int best);
	~Kchangement(void);
	vector<int> Descente(vector<int> assignments, DataParser *data);
	void Diminuant(int resultat);
	void DiminuantAugmentant(int resultat);
	void AugmentantDiminuant(int resultat);
	void RAZVar(int best);
	int K;
	vector<int> assignmentsBack;

private:
	int _cptDiminuant;
	int _resultDiminuant;
	int _diminution;
	int _nbMachine;
	int _palier;
	int Korigine;
	Heuristique* _heuristique;
};

